home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d20
/
swift025.arc
/
SWIFTBBS.DOC
< prev
next >
Wrap
Text File
|
1991-04-21
|
71KB
|
2,481 lines
╔═══╗ ╔══╗ ═╦══╗ ═╦══╗ ╔═══╗
║ ╔ ║ ║ ║ ║ ║ ║ ║
╚════╗ ╗ ║ ║ ║ ║══╝═╗ ║══╝═╗ ╚════╗
║ ║ ║ ╗ ═╬═ ═╬══ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║
╚════╝ ╚══╩══╝ ═╩═ ═╩═ ╚═╝ ═╝════╝═╝════╝ ╚════╝
╔═╗
║ ║
═╬═ ╔══╗ ╦═╗ ╦══╗ ╔══╗ ╗ ═╦══╗ ═╬═ ╔═╗
║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚══╗
═╩═ ╚══╝ ╩ ╠══╝ ╚══╝ ═╩═ ╩ ╚ ╚╝ ╚══╝
╩
Version 0.25
Copyright 1990, 1991, by Dana Bell
Introduction 3
The Basic Installation 8
The Program 13
The Utilities & Options 17
Appendices 26
┌──────────────────────────────────────────────────────────┐
│ │
│ Notice: OFFICIAL RELEASE │
│ │
│ This is the first official release of SwiftBBS for │
│ points. While betas were limited because of a lack of │
│ beta-sites, this version of SwiftBBS programs has been │
│ carefully tested, and constantly in use as my point │
│ system. │
│ │
│ The pre-1.0 version number indicates that the │
│ program hasn't been fully developed in some ways. In │
│ the case of SwiftBBS, version 0.25 is NOT capable of │
│ adequately functioning as a "bulletin board program". │
│ It is, however, suitable for operation by points in │
│ local mode, hence "SwiftBBS for points". │
│ │
│ Message entry, reply and formatted display work │
│ with no problems, though only through an external editor │
│ There is no internal editor in SwiftBBS. You must │
│ specify your own editor in the configuration. The │
│ editor reads and writes the file MSGTMP. │
│ │
│ REPORTS │
│ This version is not a BETA version, but because of │
│ the limited participation of beta-testers, there is a │
│ possibility that you may find a bug, or create a │
│ configuration that doesn't work. Please report any bugs,│
│ along with as many specifics as possible. SWIFTBBS.ERR │
│ may also contain hints to any problems you may have. │
│ │
│ SITES │
│ If you would like to be a beta-tester for future │
│ SwiftBBS versions, let me know. Message and/or file │
│ echoes can be made available and held for your pickup. │
│ Suggestions of what you would like to see added to │
│ SwiftBBS first, will also be seriously considered. My │
│ FidoNet netmail address is 1:3801/8. │
│ │
└──────────────────────────────────────────────────────────┘
page 1
┌──────────────────▄▄▄▄▄▄▄
│ Contents ███████
└──────────────────▀▀▀▀▀▀▀
Introduction
An abstract . . . . . . . . . . . . . 3
Requirements . . . . . . . . . . . . . 6
Registration . . . . . . . . . . . . . NA
Limitations & Compatibility . . . . . 7
The Basic Installation
Swifcnfg . . . . . . . . . . . . . . . 8
Message Boards . . . . . . . . . . . . 12
The Program
Getting Started . . . . . . . . . . . 13
Non-menuing . . . . . . . . . . . . . 14
The Utilities & Options
Netmail/Echomail . . . . . . . . . . . 17
Swifecho & Echomail . . . . . . . . . 18
Custom menus . . . . . . . . . . . . . 21
User Maintenance . . . . . . . . . . . 24
Swifdump . . . . . . . . . . . . . . . 25
Swifpack . . . . . . . . . . . . . . . 26
Appendices
SwiftBBS menu types . . . . . . . . . 28
ASC/ANS control characters . . . . . . 29
Hot-key summary . . . . . . . . . . . 30
Alt-functions . . . . . . . . . . . . 31
Interfacing & Point Operation . . . . 32
SwiftBBS files . . . . . . . . . . . . 40
Afterward . . . . . . . . . . . . . . . . 41
page 2
┌──────────────────▄▄▄▄▄▄▄
│ An abstract ███████
└──────────────────▀▀▀▀▀▀▀
I like the term "Wide Area Information Transfer System",
instead of "BBS" to describe SwiftBBS. The difference, of
course, is in how you use it. SwiftBBS allows users to read
and enter messages to each other, and in most cases, it would
be interfaced with other software in order to facilitate
"messaging" (via modem) on an international level.
SwiftBBS uses and maintains the QuickBBS set of control
files, data files and menus. The QuickBBS database format
was decided upon because of it's efficiency. Indexed
database files allow you to find messages quicker, and take
up less space than Opus and *.MSG files.
While some of the QuickBBS functions are missing from
SwiftBBS, there are some extra features, most of which make
it simpler to maintain and more suitable for use as a
messaging system.
POINT SUPPORT: Some key added features include the
option of logon without the need to maintain a user file.
Also, menus are optional as well as most of the display
files. When operating without menus, SwiftBBS uses built-in
menus similar to Opus.
In mimicking QuickBBS, SwiftBBS will also use the
assigned Aka in creating the originline. This makes it
possible to append proper point numbers without sacrificing
NETMAIL (always the Main address in Quick).
In short, since SwiftBBS doesn't require menus, users,
and most textfiles, it is fairly simple to setup for point
operation. For more on SwiftBBS POINT operation, see the
appendix following.
SECURITY LEVELS: This release introduces the first
security level features. Still, it is very limited. Reading
on a particular board requires the same or greater security
level in the user file as in the CONFIG.BBS for that area.
OPERATIONAL FLAGS: Operational flags are generally
supported, though it has not been tested without ANSI.SYS
active. page-pause, page-length, more, and ansi are the key
ones, and can be toggled just as in QuickBBS.
TIMES READ: The QuickBBS data structure holds a spot for
times a message is read. QuickBBS 2.64 doesn't use this, but
SwiftBBS does update and display this information.
page 3
MESSAGE THREADS: SwiftBBS will create and update message
links for messages entered locally. This will enable you to
use -/+ to follow a thread forward or backward. There is
also a SwiftBBS utility (Swiflink) for linking messages
imported into the system. When following threads, you can
also choose to temporarily reverse the direction of the
thread.
MENU TYPES: SwiftBBS doesn't support all the Quick
types. To indicate that SwiftBBS does recognize the
keystroke to execute the unsupported option, Swift redisplays
the menu. Swift doesn't redisplay the menu with a simple
carriage return.
OPUS MODE: When there are no menus available, SwiftBBS
will start up in "opus" mode. That is, a simple two level
fixed menu system. Under these fixed menus, you can select
areas by number and read/enter accordingly. Selecting board
number 0 will allow you access to combined areas. It doesn't
work quite like opus, but there are some similarities.
HOTKEYS: Hotkeys are supported in most areas, such as
message display (S,P,N,B,X,R), hotkey displays, menu
displays, and file displays. Hotkeys allow you to
interrupt the display in progress and continue to the next
process. In the case of menus, the hotkey will execute a
valid menu option before the display is complete. For
messaging, the hotkey will execute the next message option
(Next, Back, Reply, etc.)
SMART FILES: SwiftBBS menus and display files can be
created to display system information based on imbedded
control codes. An appendix lists the current control codes
and displays.
TERMINAL: Since SwiftBBS has all the basic functions for
terminal operation, a terminal mode is provided for simple
connections. Only catch is you have to use AT commands
manually, and it's preset for N81. Other configurations are
read from the file CONFIG.BBS. To dial a system from
terminal mode, type ATDxxxxxxx
page 4
COMMAND-LINE OPTIONS: Command line options for SwiftBBS
include the following:
-l = local mode;
-t = trace mode;
-o = opus mode;
-z = terminal mode;
-e<errorlevel> = exit at errorlevel;
-w<filename.ext> = use specified word processor/editor;
Swiftbbs defaults to local, errorlevel 0. In some
places, Alt-J will jump to DOS (no messages displayed on that
yet), and Alt-X (or Shift F1) to quit. Logging off works
best to exit.
Remote SwiftBBS operation has been successfully tested
with DOS redirection. It should not be automated though, as
there is no Ctrl-C checking. The format for this is
SWIFTBBS > COM1 < COM1
page 5
┌──────────────────▄▄▄▄▄▄▄
│ Requirements ███████
└──────────────────▀▀▀▀▀▀▀
SwiftBBS should run on all PC/XT/AT compatible computers
with at least 128K free memory and as much disk space as you
need to use for the messagebase. The recommended CONFIG.SYS
specifications include FILES=25, BUFFERS=25. Another current
requirement is an active ANSI screen driver. To load
ANSI.SYS, refer to your DOS manual. A message editor is also
required for entering messages. For future BBS operation, an
active revision 5 fossil driver may also need to be present.
Other requirements depend on how you have it interfaced.
CONTROL FILES REQUIRED: The only required files are the
executables and CONFIG.BBS. SWIFTBBS is the messaging
program itself, and SWIFCNFG is the configuration program
from which you can create CONFIG.BBS and other control
files. If you attempt to run SWIFTBBS without a valid
CONFIG.BBS, SwiftBBS will attempt to execute SWIFCNFG in
order to create one.
New MSG*.BBS files will be created if any one of them is
missing. If SwiftBBS can't find a top menu (in the
CONFIG.BBS path), it will run in "opus" mode.
Files supported but not required by SwiftBBS include the
textfiles "LOGO.ASC", "WELCOME.A**", "NEWS.A*", and
"GOODBYE.A**". SwiftBBS also keeps a System log.
SwiftBBS also doesn't require USERS.BBS to operate.
When present, Swift checks users against password, and will
add new users to it, and maintain last message read
information. Without, anybody may use the system. In order
to create one, you can use Swifcnfg, or fake it with the DOS
command: rem > users.bbs.
OTHER REQUIREMENTS: SwiftBBS does provide some support
for NETMAIL/ECHOMAIL processing. In order to import/export
either of these you will need a supplementary program to
archive and send mail to other systems. Ommm and Binkley
work okay for that. You can also use other programs that
support the QuickBBS/SwiftBBS message base format. The same
goes for message-packing, user-packing, and reply-linking.
SwiftBBS does create an ECHOMAIL.BBS control file for
use with SWIFECHO or QECHO when extracting echomail.
page 6
Compatibility
The data structures and file formats are based on
QuickBBS 2.64 formats, and maintains compatibility with
QuickBBS, to enable you to use third party utilities written
for QuickBBS, or even use with QuickBBS. While SwiftBBS
works similar to QuickBBS, it is written totally in C. Not
all QuickBBS options are available in SwiftBBS, but those
that aren't are simply ignored. Some extensions to QuickBBS
(extra menu types) are implemented in such a way as to
prevent conflicts with QuickBBS as much as possible.
The format of CONFIG.BBS is fully compatible with
QCONFIG, with a single exception. Swifcnfg adds a null
character to the end of each field, which would shorten the
maximum length of text fields by one character.
Because of SwiftBBS's QuickBBS compatibility, you can
use current third-party programs for maintenance & support.
While SwiftBBS is free, other programs may not be & I do
want to encourage you to register any you use.
Limitations
Due to the development stage of SwiftBBS, there are
several limitations. The most notable ones include the need
for extra space for message-packing. SwiftBBS doesn't yet
write-in-place, and does make backup files often.
Also, Swiflink is limited to 500 threads for each
area. Following the 500 thread limit, new messages will
still be linked, but no new threads will be created.
Finally, SwiftBBS programs are not QuickBBS clones.
SwiftBBS programs frequently take different command-line
arguments, and approach the problems from different angles.
SwiftBBS does, however, create, read, and write valid
QuickBBS data file formats.
page 7
┌──────────────────▄▄▄▄▄▄▄
│ Installation ███████
└──────────────────▀▀▀▀▀▀▀
Installation
Setting up SwiftBBS is similar to setting up any new
program. Unless you intend to use a floppy drive, you will
probably want to set up a separate directory for it. If you
intend to support netmail/echomail you will also need
separate directories supporting echomail traffic.
Discussions on Swifecho and SWIFECHO.CTL will cover that in
more detail.
My preference is to put all the executables in a
single directory and include it in the path.
In order to get SwiftBBS running for the first time, you
will need to identify the system and set up message areas.
The main program for this is SWIFCNFG and the number of
options available in SWIFCNFG will depend on the version you
have. The current version will display the following options.
╒════ menu options ════╕
│SwiftBBS configuration │▒
│User editor │▒
│Menu editor │▒
│Quit to DOS │▒
└───────────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
The SwiftBBS configuration option of SWIFCNFG
creates/edits the required file CONFIG.BBS. The arrangement
is similar to QuickBBS' QCONFIG, but does not include
protocols and other unused features. If you are using
SWIFTBBS as a point system, many of the options will not
apply. The official release of SwiftBBS includes a sample
CONFIG.BBS, that can be changed to suit your needs.
The user and menu editors included in SWIFCNFG
will be discussed later.
By selecting SwiftBBS Configuration, a sub-menu will
be shown similar to the following. Cursor keys will allow
you to move the cursor bar up and down to select options.
╒═ SwiftBBS Configuration ═╕
│ 1> BBS ID & system paths │▒
│ 2> Modem Initialization │▒
│ 3> BBS network defaults │▒
│ 4> Query options │▒
│ M> Message boards │▒
│ Q> Quit and Save │▒
└───────────────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
page 8
The options under "1> BBS ID & system paths" control
where SwiftBBS looks for certain types of files, and the
editor it will use. The following screen shows the options
available here. The active text is identified with a
screened entry field and the current position should be
evident by the cursor. In most screens the basic cursor keys
will allow you to navigate within the field. SwiftBBS
automatically truncates spaces from the end of the field.
SwiftBBS Configuration - BBS Identification
BBS System: Dana's Swift Site░░░░░░░░░░░░░░░░░░░░░░░
BBS Sysop: Dana L. Bell
Originline: A SwiftBBS test site
Extraspace: ^A
Textpath:
C:\POINT\SW\
Menu Path:
C:\POINT\SW\
Netpath:
C:\POINT\MAIL\
DOS command for external editor:
QUICKED.EXE
Reply Quoting string: ^A>
Type 7/15 Loading message text:
Loading, Please Wait ...
Bulletin (type 6) prompt:
Type Selection or L to List, [Enter]=Quit:
BBS System and BBS Sysop identify the board to callers
during the logon process, and in other information screens.
The Originline is appended to all echo messages along with
the FidoNet address. The Sysop name is not used in entering
messages for point systems. Users are always asked for
their name during logon.
The Textpath and MenuPath identify the location of
*.ANS and *.ASC display files and custom menus
respectively. The menu editor in Swifcnfg also uses this
information to find the menus. All paths should end with
a '\'.
The "Reply Quoting string" is inserted in front of
lines quoted from a previous message.
page 9
The options under "3> BBS network defaults" control
the basic commport operation. This information is also used
when using SwiftBBS in terminal mode.
SwiftBBS Configuration - BBS network defaults
COM port # 1 Max Baud: 2400
Init tries 3 Inactive Timeout (secs): 120
Foreground Color: 7 Background Color: 0
Zone Net Node Point
Main Node Address: 1 :30566/8 .8
Aka Address #1: 1 :3801 /8 .8
Aka Address #2: 1 :3801 /88 .0
Aka Address #3: 1 :3801 /88 .8
Aka Address #4: 40 :0 /0 .0
Aka Address #5: 50 :0 /0 .0
Netmail board: 10
The COM port and Max Baud are used to initialize the
modem and fossil for BBS operation and use as a terminal
program.
The Address identification area controls how messages
areas identify themselves to the rest of the network. Unless
you operate as a point system or with several networks, you
will only need to use the Main Node Address for
identification.
The Main Node Address is normally used to identify
NETMAIL originating from the system. The alternate "Aka"
addresses can optionally be selected for individual messages
areas, by selecting "aka to use" in the Message board
configuration.
The Netmail board is where all incoming netmail and
unidentified areatag messages are put.
page 10
Most of the options in "4> Query options" are either
not used or optional. The prompt for "run in monochrome",
is not required for SwiftBBS, but if it is not set
proper for QuickBBS's QCONFIG, that program (& probably other QuickBBS
programs) will not display properly, and could hang up the
display. Again, this setting has no function in SwiftBBS,
and is provided only for compatibility.
SwiftBBS Configuration - Query Options
Use Monochrome mode N
Direct screen write N
Check for snow N
ANSI/Graphics Y
Check for mail Y
Use lastread ptrs Y
Exit on Net/Echo: Y
page 11
┌──────────────────▄▄▄▄▄▄▄
│ Messaging ███████
└──────────────────▀▀▀▀▀▀▀
The messages in SwiftBBS are all kept in a single set of
messagebase files. In order to allow several areas to be
used, each message is coded with a board number, and each
board can be configured with certain parameters. Specifically,
each message board can be identified with a name and
also be set for different access levels.
There are a possible 200 message boards. In the
configuration program, navigating the message boards and
fields within each board configuration is done with the arrow
keys. In order to go to a certain board number, press <F1>
and enter the board number to edit.
Board number to edit: 2░░
SwiftBBS Configuration - Message boards
Board 1: Grace
Board Type: (0=Standard, 1=Net, 3=Echo) 0
Board Kind: (0=both, 1=priv, 2=publ, 3=RO) 0
Aka to use: (0 for primary address) 0
Use combined: N
Allow aliases: Y
Read: 5 Write: 5 Sysop: 32000
Areatag: GRACE = 3801/8░░░░░░░░░░░░░
Origin line: Baby Blue HST * Gracious Discussions
<F1> Select board number
The name included in this screen is the name used to
identify the board to the user. This is NOT the echo
areatag. The echo areatag is used and monitored by other
programs.
The configuration of each board also determines how the
message will be treated. By enabling echomail, messages can
be imported or exported to international conferences. The
Board Kind is not fully functional in this version of
SwiftBBS. The Board Type is crucial for echomail
processing. Setting this to 3 for ECHO on most areas is
advisable. "Aka to use" refers to the address setting in
previous screens.
An added feature in the board configuration menu is the
ability to enter custom Origin lines, Areatag and forwarding
nodes along with the other specifications for the board.
These specifications are contained in separate files.
Swifcnfg reads a fully formatted ECHOORIG.CTL and AREAS.BBS,
but only writes back areatags and forwarding nodes. Comments
and passthrough areas are not saved. Instead, Swifcnfg saves
the "initial" files in the files AREAS.1ST and ECHOORIG.1ST.
Subsequently Swifcnfg modifications will also save the
previous file with a "BAK" extension.
page 12
┌──────────────────▄▄▄▄▄▄▄
│ Getting Started ███████
└──────────────────▀▀▀▀▀▀▀
I don't want to over-simplify, but to start SwiftBBS,
type SwiftBBS on the command line. Command-line options can
be specified by prefixing them with a '-'. Command line
options for SwiftBBS include the following:
-l = local mode; Starts SwiftBBS for local operation. No
fossil initialization and use is involved. Since remote
operation is not fully supported, this is the default.
-t = trace mode; Displays information about key program
function calls to assist in the debugging of the program.
A little much in most cases, but might be educational.
-o = opus mode; Starts SwiftBBS and uses default 'opus' style
menus. These built-in menus are displayed below.
-z = terminal mode; Starts SwiftBBS in terminal mode,
allowing you to use it to call other computer BBS
systems. Baud rate/com port are specified in CONFIG.BBS.
Defaults to N81 framing.
-e<errorlevel> = exit at errorlevel; Exits with the specified
errorlevel. If echomail is entered the errorlevel is
reset to 5.
-w<filename.ext> = use specified word processor/editor;
Allows you to use an alternate message editor.
Getting started using a messaging program may be a bit
slow if you don't have any messages to read, so some major
releases will include some of this documentation, or other
messages in a starter message base (MSG*.BBS). Full
documentation may be made available in a separate archive.
The distribution release will also contain a sample
CONFIG.BBS with a few message boards set up.
When no USERS.BBS is present, the logon only asks for
a name. When a USERS.BBS is present, the user is asked for
a name, searches for the same name in the USERS.BBS file,
and if found, requests a password. When new users logon,
they are asked if they entered the name correctly, and then
asked for password, city/state.
As a part of the logon process, several files are
displayed if they are present. Prior to requests for a
callers name, LOGO.ASC is displayed. Following the callers
entry, WELCOME.A?? and NEWS.A?? are displayed. The file
GOODBYE.A?? is displayed following the logoff command.
Also as a part of the logon process, SwiftBBS will look
up your access level in the file LIMITS.CTL, and assign you
the amount of time specified for that security level. If
not found, the default is 60 minutes.
page 13
┌──────────────────▄▄▄▄▄▄▄
│ Non-menuing ███████
└──────────────────▀▀▀▀▀▀▀
Non-menuing may be a misnomer, but there is some reality
in it when you consider the alternate. By running SwiftBBS
and explicitely selecting -opus mode, you get a standard set
of menus to make selections from. From the standard menus
you can still have access to all message areas, with options
for read, scan, and enter. Other features are provided for
changing setup. Sample displays of these menus are
illustrated below (minus the color).
If there isn't a TOP.MNU in your menus filepath, then
SwiftBBS will also default to these standardized menus. If there
is a TOP.MNU, you can specify this menuing format by
specifying -o on the command-line. Even with menus, you can
use menu type options to change to non-menuing. Some
options added through opus-style menus are also available
in menuing through extensions to the QuickBBS types.
More on menuing follows in the section on utilities.
The MAIN Menu███████████████████████████████████████████████████
Message section File section Yell at sysop Goodbye (logoff)
Change setup ListUsers Version ?Help
SELECT:
Primary options available from The MAIN Menu include:
M)essage section -- transfers control to the message panel
described below.
F)ile section -- transfers control to the File section (not
active). Current version may allow file requests with
this option.
Y)ell at sysop -- activates the local bell.
G)oodbye -- terminates the program.
C)hange setup -- transfers control to the Change Setup
panel described below.
L)istUsers -- displays a listing of active users, city and
last time on.
V)ersion -- displays the current version of SwiftBBS.
page 14
The MESSAGE Section█████████████████████████████████████████████
System has 14 messages numbered 1 to 14.
There are 9 messages in this area.
ECHO area 5 ... five
Area change Read messages Enter message Check mailbox !List active
Swiftscan Main Menu Goodbye ?Help
SELECT:
Options available from The MESSAGE Section include:
A)rea change -- displays a list of named message areas.
Selecting 0 selects combined areas. Combined settings in
CONFIG.BBS determine the areas included in combined
access.
R)ead messages -- Reads messages in the active message area.
E)nter message -- Allows you to enter a new message in the
active area. If combined is selected, you will be prompted
for an area.
C)heck mailbox -- Displays a list of messages addressed to
you since the last time you were logged on.
!)List active -- Lists all boards (with or without names),
with active messages.
S)wifscan -- Lists messages with From, To, Subject for the
active area.
Messaging prompts are provided with Read and Swifscan
options to allow you to select specifics. Explaining the
options available is probably more difficult to explain than
to actually use. Most users will learn to use these options
intuitively. The initial prompt is:
<N>ew Messages, <F>orward, <R>everse, <Selected>, <Q>uit
Option: F
Subsequent prompts will depend on the option selected.
When selecting Forward or Reverse, you will be supplied with
information about the message base and the messages within
the selected area, and then queried on the message number to
start with. In all cases, you can select to pause after each
message or not.
Active Message Board: "Combined messages
System has messages numbered 1 to 14.
Enter number to start at, [Enter]=First:
Pause after each message? (Y/n)
Selecting New messages will start in forward order
following the last message you read the previous time you
logged in. SwiftBBS maintains this information even when
messages are renumbered. SwiftBBS doesn't update the "last
message read" pointers until you logoff, and only uses the
last message number in "Forward" order.
page 15
During messaging reading, you may also have additional
options to enable you to back up, or follow threads.
Following each message, you can select from a submenu
resembling this:
<-> Read Previous Replies, <+> Read Replies
<A>gain, <N>ext, <B>ack, <X>port, <R>eply, <S>top?
In simulating QuickBBS operation, the <N>ext option will
go to the following message if you are reading Forward, or
the subsequent message if you are reading Reverse. The
<B>ack option has the reverse effect.
The <R>eply option will quote the message you are
replying to in the file MSGTMP and call the configured
editor. The <X>port option will write the current message to
a disk file.
Reply reading options displayed will depend on the links
the message actually has with previous/following messaging.
The submenu during reply reading will conform to the option
you've selected and return you to the current message
following the last linked message.
The CHANGE SETUP Section███████████████████████████████████████
Password City State Length More Screen clear
Full-scrn edit IBM graphics User List Version Yell at sysop
?Help Quit section Goodbye (logoff)
SELECT:
page 16
┌──────────────────▄▄▄▄▄▄▄
│ Netmail/Echomail ███████
└──────────────────▀▀▀▀▀▀▀
In order to understand netmail and echomail, you will
most likely want to discuss it with another local sysop
before you can actually implement something. SwiftBBS
supports echomail and both routed and direct netmail.
Outbound netmail can be configured for any of several message
areas by selecting the netmail board type. All inbound
netmail will be imported into the netmail board specified in
SWIFECHO.CTL.
Echomail doesn't work without the interfacing of
SwiftBBS with other programs. One of these programs is an
echomail processing program, such as Swifecho or Qecho.
These programs extract copies of echo messages and prepare
them for distribution to other BBS systems.
The Utilities provided with SwiftBBS are designed for
SwiftBBS, but may also be used with QuickBBS if you find them
useful for that.
page 17
┌──────────────────▄▄▄▄▄▄▄
│Swifecho/Swiflink ███████
└──────────────────▀▀▀▀▀▀▀
Swifecho
Swifecho is a mini-echomail processing program. It is
mini- because it will only process incoming or outgoing.
Swifecho will NOT forward messages, and "at this writing" has
no dupe-detection. Swifecho is only suitable for end-node or
point operation.
In order for Swifecho to work, you must have a control
file, SWIFECHO.CTL, and an area file, AREAS.BBS. The control
will follow the same format as the control file for Qecho.
Following is an example. Semicolons will mark any line as a
comment.
; Swifecho Control File for Blue Point BBS
;
Node 30566/8
Aka 398/315
Strip 30566
MailPath C:\POINT\MAIL\
FilesPath C:\POINT\FILES\
OutBoundPath C:\POINT\OUTBOUND\
QuickBBSPath C:\POINT\SW\
Some of the fields are not yet supported, but will be added
in future releases, and may be used by other software. The
primary fields in use in the current version of Swifecho
include:
Node -- specifies your network address. This is the
information that is added to SEEN-BY and PATH statements in
echomail. If you are a point system with a pointnet number
your boss may have to strip your pointnet number.
MailPath -- specifies the location of incoming mail packets.
Swifecho looks here first for mail. If this is specified,
then all incoming netmail is put here in *.MSG format,
when unpacking new packets. Otherwise, it is tossed into
the Netmail board at the same time echomail is processed.
FilesPath -- specifies the location of incoming mail. After
processing messages in MailPath, Swifecho looks here for
the *.PKT files.
QuickBBSPath -- specifies the location of any remaining
inbound mail packets.
OutboundPath -- specifies the location of outgoing *.OUT
files.
Strip -- specifies your private pointnet number if you need to
strip these from your seen-bys. Your bossnode should be able
to tell you this. This is for points only.
page 18
Echomail areas are identified by areatag names, and the
file AREAS.BBS is used to map incoming messages to the proper
message area and send outgoing messages to designated nodes.
The format of AREAS.BBS is listed below. Swifecho is more
forgiving than QECHO on the spacing format of the file, but
to keep on the good sides of QECHO, I recommend the following
format.
<Board No><1 space><areatag name><1 tab><forwarding nodes>
Swifecho isn't particular about the amount of white space
between fields.
1 LOCAL 3801/8
10 NETMAIL 3801/8
52 80XXX 3801/8
53 C_ECHO 3801/8
54 PASCAL 3801/8
The AREAS.BBS file may be created with any text editor,
or it may be created through Swifcnfg's message board
configuration option.
The options for SWIFECHO are:
-u = unpack new packets and toss echomail;
-e = extract new mail;
-i<filename.ext> = log echomail importing;
-o = log echomail exporting (SWIFECHO.LOG);
-n = process netmail.
The -u, -i, and -n are options used to toss new mail
into the SwiftBBS message base. The -u option tells Swifecho
to process incoming packets and toss the messages into the
SwiftBBS message base. The -i tells Swifecho to create an
echomail import log for use with Swiflink. This speeds up
Swiflink processing if mail is received in only a few of the
areas. The -n option tells Swifecho to process *.MSG files
in the MailPath.
The -e and -o are options used to extract mail from the
SwiftBBS message base and export them to other boards.
SwiftBBS creates an entry in ECHOMAIL.BBS when new echomail
is entered. Swifecho exports messages listed in ECHOMAIL.BBS
and then deletes it. The -o options causes Swifecho to keep
a log of echomail exported from the system. The file
SWIFECHO.LOG lists the areatag for each echo-message. The
may be used to monitor the activity of these message areas.
Messages entered in any board specified as netmail, will
be exported accordingly. If there isn't a forwarding address
in the AREAS.BBS for that board, the message will be routed
direct.
If Swifecho processes any echomail, it will exit with
errorlevel 5, if it doesn't process any mail, it exits with
errorlevel 4, and if there is a serious error, it will exit
with errorlevel 2. The errorlevel can be used to control
whether or not programs such as Swiflink need to be run.
page 19
Swiflink
Swiflink is the utility that links message threads
together for messages imported from echomail. It can be run
following Swifecho's unpacking of new mail. Swiflink links
messages in all areas based on the first 20 characters of the
Subject, not including Re:, etc. There is a maximum of 512
threads per area.
Swiflink can alternately read a list file of areas to
link. The list file is not automatically deleted, so you
will have to do that if you have no further use for it.
Swiflink has no other setup or configuration options
available.
The options for SWIFLINK are:
-l<filename.ext> = use list file;
page 20
┌──────────────────▄▄▄▄▄▄▄
│ Custom menus ███████
└──────────────────▀▀▀▀▀▀▀
The ability to create custom menus and navigate from one
to the other was one of the nice things about QuickBBS. It
was also a requirement to get it operational. To some
QuickBBS users, the inclusion of standard (opus) style menus
is one of the nice things about SwiftBBS. It is also
possible in one case, to mix the two styles, that is, you can
convert to standard menus from a custom menu option.
Instead of creating a separate program for MENU and USER
editing, these functions have been incorporated into the
SWIFCNFG program. And the menu editor in Swifcnfg isn't too
shabby. Menus for SwiftBBS can also be created with an
outside utility such as MenuMaster, QuickBBS' or MENUEDIT.
Likewise, you can use the Swifcnfg utilities when working
with QuickBBS or a clone.
Current menu options will allow copy, delete, rename
and editing. The main menu option menu will resemble this
display.
╒═ menu options ═╕
│Copy menu │▒
│Delete menu │▒
│Edit/create menu │▒
│Rename menu │▒
│Quit menuing │▒
└─────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
Additional dialog like and lists may be displayed
depending on the options selected. The following shows a
display of a menu copy routine. When asked for an initial
filename you can press enter and select the menu from a
listing of menus.
╒═ menu options ═╕
│Copy menu │▒
│Delete menu │▒ ╒═ D:\C\*.MNU═╕
│Edit/create menu │▒ │_MAIL.MNU │▒
│Rename menu │▒ │A_CAD.MNU │▒
│Quit menuing │▒ │ABLED.MNU │▒
└─────────────────┘▒ │AUTOCAD.MNU │▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │COPIED.MNU │▒
Enter name to copy from: {enter for list} │FOUR.MNU │▒
AUTOCAD.MNU │TOP.MNU │▒
Enter name to copy to: └─────────────┘▒
NEWCAD░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
page 21
The menu editing option allow you to create and edit
your menus. The menuline display at the top show the
current record. You can page up/page down through the lines
of the menu. Pressing the ESCape keys displays a sub-menu
of edit options as illustrated below. Be sure to save the
menu before exiting.
Record number to edit: 3░
Menu: AUTOCAD.MNU Menuline: 3
Display:
< R > Read Messages ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Selection Key: R Menu Type: 23 Foreground: 14 Background: 0
Security Level: 1
Data:
73
─────────────────────────────────────────────────────────────────
╒═ edit options ═╕
1: > > AutoCAD discussions < < │Add a record │▒
2: │Delete record │▒
3: < R > Read Messages 4: 5: < - > Previous│Erase record │▒
6: < S > Scan Messages 7: 8: < * > Top Menu│Go to a record │▒
9: < P > Post a message 10: 11: < = > Logoff│Insert a record │▒
│Move records │▒
your choice: │Quit menu editing│▒
│Return to browse │▒
│Save menu │▒
│View menu │▒
└─────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
page 22
When entering the Menu Type, you can also press <F1> and
select from a listing of menu types available at this
release. All known types will be displayed even if it will
never be used by SwiftBBS. This will enable you to use it
for editing menus for QuickBBS or other clones. The
listing will temporarily over-write the menu display, and
when an entry is selected, it's number will be inserted in
the Menu Type display. Escape will abort as expected. The
screen will resemble the following:
Menu: AUTOCAD.MNU Menuline: 3
Display:
< R > Read Messages ;
Selection Key: R Menu Type: 23 Foreground: 14 Background: 0
Security Level: 1
Data:
73
─────────────────────────────────────────────────────────────────
╒ No. Description of SwiftBBS types Options ═╕
1: │ 0 ... Text Line (Not Considered a Command) .. None │▒
2: │ 1 ... Goto New Menu ......................... <Menu Name> │▒
3: <│ 2 ... Gosub New Menu ........................ <Menu Name> │▒
6: <│ 3 ... Return from Previous Gosub ............ None │▒
9: <│ 4 ... Clear Gosub Stack and Goto New Menu ... <Menu Name> │▒
│ 5 ... Display .ASC/.ANS File ................ <1-8 Charac │▒
your│ 6 ... Selection Menu ....................... <1-7 Charac │▒
│ 7 ... Shell Under Board and Run Program .. │▒
│ 8 ... Version Information ................... None │▒
│ 9 ... Logoff the System ..................... None │▒
│10 ... Display System Usage Graph ............ None │▒
│11 ... Page the Sysop for Chat ............... Page Prompt │▒
└───────────────────────────────────────────────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
The appendices contain a list of the menu types
supported by SwiftBBS.
SwiftBBS supports the "autoexec" menu option. In order
to force an option to be executed when a menu is loaded,
enter a Control-A in the Selection Key field. This may be
handy to run a set of options in the TOP menu before
transfering control to a "user" menu, or to display a type 40
menu file.
page 23
┌──────────────────▄▄▄▄▄▄▄
│ User maintenance ███████
└──────────────────▀▀▀▀▀▀▀
The User editor option in Swifcnfg will allow you to add
new users and edit the basic fields of existing users. The
editor is self-packing and self-sorting. The editor When a
user is deleted, the entry is not saved when exiting
Swifcnfg.
The USERS.BBS file is optional with SwiftBBS and will
default to ANSI, CLS, & More options. While USERS.BBS is
optional, there are good reasons to keep one. If you operate
as a single user on a point system, you may want to have a
user file so that SwiftBBS can update & maintain lastread
pointers, use it for customized displays options, or to
provide some security.
The following display illustrate the User Editor screen
with the user options menu displayed. Currently, the Sort
option sorts by First name only.
User number to edit: 9░░
SwiftBBS Utilities - User Editor
User number 2 of 12
Name: Henry Bell Password: scramble
City: ░░░░░░░░░░░░░░░░░░░░░░░░░ ╒═ user options═╕
Voice phone: 444-444-4444 │Add User │▒
Security level: 100 Ansi codes: Y More│Deletion │▒
High Message Read: 2487 │Clear User │▒
│Goto User │▒
│List Users │▒
│Sort Users │▒
│Quit │▒
└───────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
When selecting to Goto a User, a scrollable list of
users will be displayed. Using the cursor keys you can
select the user you want to edit. The following is a basic
display of what would appear in this case.
SwiftBBS Utilities - User Editor
User number 2 of 12
Name: Henry Bell Password: scramble
City: ░░░░░░░░░░░░░░░░░░░░░░░░░ ╒═ user options═╕
Voice phone: 444-444-4444 ╒════ user selection════╕ │▒
Security level: 100 Ansi codes: │Dana Bell │▒│▒
High Message Read: 2487 │David Dunn │▒│▒
│Danny Boy │▒│▒
│Danny Michaels │▒│▒
│Dave Cohen │▒│▒
│David Kissinger │▒│▒
│David Eliag │▒┘▒
│David Jude │▒▒▒
│David Davidson │▒
└───────────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
page 24
┌──────────────────▄▄▄▄▄▄▄
│ Swifdump ███████
└──────────────────▀▀▀▀▀▀▀
Yet another utility provided with SwiftBBS is SWIFDUMP.
This utility simply dumps various control file information to
the screen for quick checks. When reporting bugs in
SwiftBBS, it can be helpful if the configuration
information is redirected to a text file that you can send
to the author. Executed without parameters
displays a menu of options. The command line arguments for
SWIFDUMP are:
-a = display information from all files;
-b = display message board information;
-c = display basic configuration;
-e = display event list;
-f<string> = search fidonet nodelist for string,flag,
-m<net/node> = search fidonet nodelist for matrix number <net/node>
-x = display exit information;
-n<string> = search nodelist for string,net/node,baudrate;
-u<string> = display user for <string>;
Redirecting Swifdump is done by appending the
command-line with 'filename.dmp', i.e.
SWIFDUMP -a > SWIFTBBS.DMP
page 25
┌──────────────────▄▄▄▄▄▄▄
│ Swifpack ███████
└──────────────────▀▀▀▀▀▀▀
Swifpack is the SwiftBBS version of MSGPACK. It's
operation features the biggest drift from QuickBBS style.
SWIFPACK is a combined message killer and packer. Instead
of using MSGUTILS KILLCOUNT, specify the KILLCOUNT
information in a file called "KILLSTAT.BBS" with the same
format as the command line, KILLCOUNT <boards> -N<count>.
The only currently supported QuickBBS operation is
KILLCOUNT. An additional verb, MAXKEEP may be used in the
KILLSTAT information file to apply to all areas. This may be
handy if you keep the same number in all areas, or for when
you add new areas and forget to add it to maintenance
operations.
This is a sample KILLSTAT.BBS file:
MAXKEEP 20
KILLCOUNT 3 5 -N15
killcount 188 -N10
KILLCOUNT 59 -N5
Swifpack does NOT check disk space, and doesn't
"write-in-place", but it does pack the files into temporary
files (*.UPD), and keeps old files as *.BAK. Thus, if the
pack is unsuccessful, you will have some *.UPD files left
over. Otherwise, a backup message base is kept in *.BAK
files. You will have to include *.bak deletion in your
batch file if you need the space.
Swifpack ALWAYS renumbers, and does update lastread
and highmsgread counters for current users.
page 26
Appendices
SwiftBBS menu types . . . . . . . . .
ASC/ANS control characters . . . . . .
Alt-functions . . . . . . . . . . . .
Interfacing & Point Operation . . . .
page 27
┌──────────────────▄▄▄▄▄▄▄
│ Menu Types ███████
└──────────────────▀▀▀▀▀▀▀
Type Description Optional data
-------------------------------------------------------------------
0 ... Text Line (Not Considered a Command) .. [None]
1 ... Goto New Menu ......................... [1-8 char Filename]
2 ... Gosub New Menu ........................ [1-8 char Filename]
3 ... Return from Previous Gosub ............ [None]
4 ... Clear Gosub Stack and Goto New Menu ... [1-8 char Filename]
5 ... Display .ASC/.ANS File ................ [1-8 char Filename]
6
7 ... Shell and Run DOS Program/command ..... [DOS command]
8 ... Version Information ................... [None]
9 ... Logoff ................................ [None]
13 ... List Users ............................ [None]
15 ... Exit to DOS (partial support).......... [Errorlevel]
16 ... Change City and State ................. [None]
17 ... Change Password ....................... [None]
18 ... Change Length of Screen ............... [None]
19 ... Toggle Screen Clearing ................ [None]
20 ... Toggle Page Pausing ................... [None]
21 ... Toggle Graphics Mode .................. [None]
22 ... Check for Personal Mail ............... [None]
23 ... Read Messages ......................... [Board #0-200]
25 ... Swiftscan Messages .................... [Board #0-200]
27 ... Post a New Message .................... [Board #0-200]
30 ... MS-DOS Directory ...................... [Path]
31 ... List FILES.BBS ........................ [Path]
39 ... Display a Direct Text File ............ [Filename]
40 ... Display ASC/ANS File w/ Hot Keys ...... [1-8 char Filename]
41 ... Toggle Full Screen Editor ............. [None]
45 ... Type ASC/ANS File and Pause at End .... [1-8 char Filename]
81 ... File Request (buggy) .................. [None]
82 ... Lookup Node ........................... [None]
91 ... Use Opus menus, starting w/ opusmain .. [None]
92 ... Change Message Area ................... [None]
93 ... List Named Message Areas .............. [None]
94 ... List Active Message Areas ............. [None]
page 28
┌──────────────────▄▄▄▄▄▄▄
│ A?? Control chars███████
└──────────────────▀▀▀▀▀▀▀
SwiftBBS will enable you to display ASC/ANS files with
various system parameters with embedded control codes. Each
control code contains a preceding control character and an
alphabetic character. At present the control characters
that enable this include Ctrl-F and Ctrl-K. When using
control codes, take precautions to avoid problems with
communications software/hardware that use other control
codes.
The following table shows the control codes currently
supported. Control codes not supported will normally be
ignored.
control_f
A: user's name;
B: user's city;
H: user's A flags;
I: user's B flags;
J: user's C flags;
K: user's D flags;
N: user's highest message read;
O: user's security level;
V: user's selected screen length;
control_k
A: bbs system's callcount;
B: bbs system's last caller;
C: total active messages on system;
D: bbs system's lowest message number;
E: bbs system's highest message number;
H: bbs system's usercount;
page 29
┌──────────────────▄▄▄▄▄▄▄
│ Hot-key summary ███████
└──────────────────▀▀▀▀▀▀▀
The hotkeys available in SwiftBBS will depend on the
file and/or option selected.
Display files:
Most display files can be paused by pressing <P>, and
stopped by pressing <S>.
Menus:
Options from a menu can be selected before the menu is fully
displayed. When a valid selection is made, the remainder of
the menu display is aborted, and the selected action is
taken. The type 40 menu display attached to a menu will
respond in the same way.
Messaging:
When a Read option is selected, the subsequent prompts for
reading are also hotkey options. During message display, you
can abort the display be selecting <P> to pause or one of the
navigational options, <A>gain, <N>ext, <B>ack, <R>eply,
<X>port, and <S>top. Similar options in message threading
are also hotkeys.
The more prompt:
The "More... [Y/n]? " is hot now. When the display has
reached the designated line number count and you have More
enabled, SwiftBBS will query for a response and will accept
enter for the default <Y>.
Yes/no/Enter options:
Other options prompted with a <Y/n> query will accept an
enter key to select the option with the capital letter.
page 30
┌──────────────────▄▄▄▄▄▄▄
│ Alt- functions ███████
└──────────────────▀▀▀▀▀▀▀
SwiftBBS local Alt-key options are still very limited.
In addition to the Alt-J Jump to DOS and the Alt-X exit,
there are functions for security level change (Alt-S), and time
increase/decrease with the up/down arrows.
page 31
┌──────────────────▄▄▄▄▄▄▄
│ Point Operation ███████
└──────────────────▀▀▀▀▀▀▀
A Point System is a user's private 'BBS'. Instead of
reading and replying to messages on a BBS, a sponsoring BBS
system can transfer the related message files to a point
system. The point-operator can then read/reply off-line,
then transfer the replies back to the 'boss' system.
In some cases the point system can imitate all the
messaging capabilities of the normal BBS.
In order to operate as a point, you would have to
interface the software with other network software. An
in-depth explanation of how this works would be beyond the
scope of this documentation. The remaining discussions
assume you will be familiar with the software items
mentioned. To get more information on BBS points, ask your
local FidoNet BBS system operator.
SwiftBBS includes support for private pointnets and
multiple addresses. Both are assigned by FidoNet
coordinators and usually come with some forewarnings.
Normally, point systems are configured with at least two
system numbers. One is a point number off of the BossNode
while the other is the private pointnet number, both of which
should correspond with each other.
As an example, the point number for point 7 is
1:3801/8.7, while the pointnet number would be 1:30566/7.0
PointNet numbers should only be used for operations with the
pointnet. PointNet numbers are only used for boss/point
interaction and should not appear in any origin-lines. Only
a valid 4D point number should appear in the origin line.
Since points are still a bit new, all of the software used
for BBS operation doesn't fully support it. In order to make
it work some kludges are also used to manipulate messages and
message base operations. At this writing, SwiftBBS is
written to mimic QuickBBS operation, and to support Qecho.
Since it doesn't conform to FidoNet specs, a POINTFIX
operation is required by the boss node.
The following discussions refer to a system with the
following directory structure.
C:\POINT─┬─BIN
├─BT
├─FILES
├─MAIL
├─OUTBOUND
└─SW
page 32
The selected directory structure was selected to isolate
the programs and files of the point system. This also makes
it simpler to backup, or to exclude from backups, depending
on your level of priorities. The directories
would contain the following software.
POINT\BIN
All executable program files can go here. This will
leave the other directories a little less cluttered. If you
need to keep all the documentation, you may want to create
an additional directory POINT\DOC. Additional directories
for menus and/or SwiftBBS text files may be created
parallel or below the POINT\SW directory.
POINT\BT
Put binkley files here.
POINT\FILES
All inbound files will go here.
POINT\MAIL
On some software this will contain Netmail messages.
SwiftBBS doesn't use this.
POINT\OUTBOUND
All outbound files will go here.
POINT\SW
Your message base files will be stored here, as well as
all SwiftBBS control files. The QNL*.BBS nodelist files
will also go here.
-- swift-ware --
When operating SwiftBBS as a point system, you will need
to configure SwiftBBS aka's appropriately for your pointnet
number and the message boards for your point number. The
simplest way to do this is to configure the main address as
your pointnet, and aka 1 for your point.
For all echo message boards, select 1 as the "aka to
use". For netmail, select 0 as the "aka to use".
In SWIFCNFG's configuration screen 2, specify your
pointnet number (z:fffff/pp.0) as the main node
address, and your point number (z:mmm/nn.pp) as the first Aka.
In SWIFCNFG's message area specifications, specify 0 as the
Aka to use for your netmail board. For ALL OTHERS, specify 1
as the Aka to use.
In the control file for SWIFECHO, specify your pointnet
number as the Node, but don't include the zone or point.
Node 30566/n
Since current versions of SWIFECHO will not forward, all
mail originates or terminates on your system.
page 33
If you use QECHO instead of SWIFECHO, you may need two
different areas files and two command-lines for QECHO, in
order to prevent duplication.
The command-line for extracting echomail from your
messagebase and preparing it for outbound is
QECHO -E -P -Z
The normal format AREAS.BBS is used to forward mail to the
destination nodes listed.
The command-line for unpacking echomail from the network is
QECHO -U -T -P -Z -Fin -Limports.bbs
An IN.BBS file needs to be created just like AREAS.BBS but
with all forwarding addresses left out, thus:
21 CHESS
page 34
-- binkley --
One program needed for distribution of echomail is a
front-end/mailer capable of "talking" with other front-end/
mailer programs. BinkleyTerm is one such program. It is not
only very popular and very good, it's also "free for the
asking", like SwiftBBS.
First things first. Since Binkleyterm is the
"front-end" to BBS or point operation, it's necessary to get
this working before you can start linking into some echoes.
It's also the simplest. The Binkley setup uses several
configuration files and two program files. The two key
configuration files are BINKLEY.CFG and BINKLEY.EVT. In
addition to BT.EXE, Binkley comes with a BTCTL.EXE. This
file is used to create additional files for use with
interacting software. Once the setup is complete, run BTCTL
once. This program is not required for day-to-day
operations. See the binkley documentation for more
information on this.
As a part of binkley.cfg, you should specify your
pointnet number (z:fffff/pp.0, replacing pp with your
point). Also, include PrivateNet in the file. I recommend
using a QuickNodelist entry and specifying the QuickBBS
directory for the location, since it's required for QuickBBS.
Address 1:30566/n.0
PrivateNet
QuickNodelist
Nodelist C:\POINT\SW
page 35
-- ommm --
At this stage, SwiftBBS only creates .OUT files and
places them in the outbound area. This will work like this,
but most BBS systems will want them compressed.
In order to prepare messages for delivery to other
nodes, archives are created and identified for delivery by
Binkley. The BinkleyTerm companion for this oMMM (opus
matrix message masher) and configuration files for oMMM
include OMMM.CTL and OMMM.CFG. Other control files are
created by BinkleyTerm's BTCTL program mentioned above. In
OMMM.CTL you need to specify the fidonet address of the
BossNode for mail processing statements.
UNHOLD mmmm/nn
ONECM mmmm/nn
The OMMM.CFG is an optional replacement for a long
command-line. For more information about oMMM, read the
documentation that accompanies oMMM. The following is a
typical OMMM.CFG file.
infopath C:\POINT\BT\BINKLEY.PRM
messagepath C:\POINT\MAIL
holdpath C:\POINT\OUTBOUND
routefile C:\POINT\BT\OMMM.CTL
zone 1
page 36
-- parselst/nodelists --
Next, you will need to be sure you're included in the
nodelist. Normally, you will be provided with a private
nodelist file, but you can also create one with the basic
requirements (your number and mine). This simple nodelist
file might look like this and be compiled with parselst.
Zone,1,
Host,30566,The_J_Boards,Tyler_TX,Dana_Bell,1-903-593-7365,9600,CM,XA,HST
,n,Another_J_Point,Tyler_TX,Sis_Sopp,1-903-nnn-nnnn,2400,XA
Host,3801,
,8,The_J_Boards,Tyler_TX,Dana_Bell,1-903-593-7365,9600,CM,XA,HST
Speaking of parselst, the following statements should be
included in Parselst.cfg. If you specify the areacode here,
be sure to strip it in binkley.cfg. Statements that you will
need to include in Parselst include
Node z:fffff/pp
QuickNodelist
If you will be using both the fido nodelist and the pointnet
nodelist, you will need to name the pointnet nodelist
NODELIST.PTS and include the statement
Mylist Nodelist.pts
page 37
-- batch file(s) --
The standard J Point BBS is a convenient system for
simple point operation, and BBS access. With it, BinkleyTerm is
configured for the following operations:
F1 - unpacks incoming mail. (usually done automatically)
F2 - local logon. Lets you log on to your BBS
F3 - cleans out old messages and packs message base.
Alt-M - manually poll for mail.
Alt-X - quit BinkleyTerm
Polling is what you do to get new messages from your
bossnode. How you want to do polling depends on you. It can
be configured so that the system will call repeatedly until
it gets through. If you usually have mail going out from your
system, it will call out repeatedly anyway, to deliver
outgoing messages.
With manual polling, the number of times Binkley tries
to call depends on the Polltries specified in binkley.cfg.
The best way to design this for business systems may be to
setup for automatic polling during a nightly event (1-4am).
Incoming mail is often sent in compressed form. It is
usually faster to uncompress mail that it is to get it
uncompressed, and takes up less space on the holding system.
Normally, Binkley exits to unpack mail anytime it receives
any. If you're not sure this was done, F1 will do it.
BBS access is provided by pressing F2 from Binkley in
this setup. If you want to start the point operation with
local logon as the first option, you can also specify this on
the command line. In this case,
POINT localbbs
will start with the BBS and then load Binkley after you
logoff.
ECHO OFF
SET BINKLEY=C:\POINT\BT\
SET TZ=CST6CDT
C:
CD\POINT
PATH > REPATH.BAT
PATH=C:\POINT\BIN\;%PATH%
if %Sched%!==! set SCHED=A
IF NOT %1.==. GOTO %1
:START
CD\POINT\BT
BT share
:PROCESS
IF ERRORLEVEL 254 ECHO ERROR ADDRESS NOT FOUND
IF ERRORLEVEL 210 GOTO OUT
IF ERRORLEVEL 31 GOTO START
IF ERRORLEVEL 30 GOTO CLEAN
IF ERRORLEVEL 20 GOTO LOCALBBS
IF ERRORLEVEL 10 GOTO UNPACKMAIL
IF ERRORLEVEL 1 GOTO OUT
GOTO START
page 38
:LOCALBBS
cd\POINT\SW
SwiftBBS -L
IF ERRORLEVEL 5 GOTO NET&ECHO
GOTO START
:NET&ECHO
cd\POINT\SW
SWIFECHO -e -l
CD\POINT\BT
oMMM -s%sched% -a
GOTO START
:UNPACKMAIL
CD\POINT\FILES
spaz -F C:\POINT\FILES\
CD\POINT\SW
Swifecho -u -iarrivals
Swiflink -larrivals
DEL ARRIVALS
goto START
:CLEAN
CD\POINT\SW
Swifpack
Swiflink
goto START
:OUT
CD\POINT
REPATH
ECHO The Point Board is . . . DOWN
page 39
┌──────────────────▄▄▄▄▄▄▄
│ SwiftBBS files ███████
└──────────────────▀▀▀▀▀▀▀
SwiftBBS starts out small but can grow quickly. The
message base itself can quickly grow to megs. In order to
better maintain your system you may want to regularly delete
some un-needed files. This list will help you determine what
you can safely kill.
The files used or created by SwiftBBS programs will vary
with the version of the programs. Future versions may allow
you to bypass creation of some backup files. This is a
general list of the filenaming convention of SwiftBBS files,
listed by category.
Program files ... Most program files will have the
*.EXE extension. This is what comes with the program
package. The program files in 0.25 include SWIFTBBS.EXE,
SWIFLINK.EXE, SWIFECHO.EXE, SWIFDUMP.EXE, SWIFPACK.EXE and
SWIFCNFG.EXE.
Documentation files ... The key documentation file
SWIFTBBS.DOC is the only other file included in normal
releases of the SWIFTBBS program.
Control files ... The key control file for SwiftBBS is
CONFIG.BBS. SwiftBBS will not operate without a valid
configuration. This file is created by SWIFCNFG. Other
control files include AREAS.BBS, ECHOORIG.CTL, SWIFECHO.CTL,
and KILLSTAT.BBS.
Data files ... The files MSG*.BBS are the messagebase
data files. The five include MSGINFO.BBS, MSGTXT.BBS,
MSGHDR.BBS, MSGTOIDX.BBS, and MSGIDX.BBS. User records are
maintained in the USERS.BBS and LASTREAD.BBS files.
Log files ... Log files are created by several programs
to enable you to keep a log of activity, or report errors.
These are not otherwise needed for operation. The key
activity log is SYSTEM.LOG. Other logs include SWIFECHO.LOG
and SWIFTBBS.ERR. All Swift* programs log program errors in
the file SWIFTBBS.ERR.
Working files ... Some files created for use by
SwiftBBS programs are temporary, and automatically deleted
after successful completion of a program. If you see any of
these files, it's an indication of an incomplete program
execution, or something's wrong. These include Data files
(listed above) with a *.UPD extension, and MSGHDR.LNK.
Backup files ... If this is a beta version, there are
quite a number of backup files. While it's very rare that
I've needed to recover data with these backup files, they're
there to help smooth testing, and as a means of salvaging
some of the files. Backup files are created with a *.1ST
or *.BAK extension. These include LASTREAD.BAK, USERS.BAK,
CONFIG.BAK, AREAS.BAK, AREAS.1ST, ECHOORIG.BAK, ECHOORIG.1ST,
MSG*.BAK,
page 40
┌──────────────────▄▄▄▄▄▄▄
│ Afterward ███████
└──────────────────▀▀▀▀▀▀▀
While SwiftBBS programs are still in the "development"
stage, most of the preliminary releases have been well tested
and work reliably. However, they aren't idiot-proof and have
lots of areas where needed features are missing.
Why SwiftBBS?
One of the main reasons for writing SwiftBBS was to use
it as a project from which to learn more about the C
programming language. I've learned quite a lot about
algorithms, databases, and conversions of all types. At the
writing of this documentation, all modules in SwiftBBS are
original. The only exception is the (AT&T) public domain
version of getopt. Getopt is used here in order to aid in
the promotion of a consistent commandline interface.
A second reason is so I'll have my own BBS program. By
having "my own", I don't have to depend on others for a
dependable BBS system. By having "my own", I can readily
make improvements, modifications, or bug-fixes and not have
to wait on someone else. By having "my own", I can give it
away. Prior to this program I don't know of any free BBS
programs based on a database style message base.
The third (& key) reason is so that I can use it (and
other programs) to peak the interest of prospective
employers.
SwiftBBS is a free-for-the-asking program. It was
written in a spirit of cooperative helping with a network of
computer users. Since BBS operations are basically hobbies,
even with good programs, there's not enough money to be made
in shareware writing BBS programs, so why try to profit from
it. The opportunity to learn and participate through various
echoes is profit enough.
page 41